home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
MUSIUSIC
/
PLAYERS.LZH
/
MP.DOC
< prev
next >
Wrap
Text File
|
1991-12-05
|
25KB
|
555 lines
MODPLAY PRO ********* (C) Mark J Cox
MODPLAY PRO ** 1990/1991
MODPLAY PRO *******
MODPLAY PRO ************** Version 2.10
Play AMIGA 4 channel sampled music files on a PC
I. QUICK START
─────────────────────────────────────────────────────────
If you are impatient and don't want to read all the documentation before
trying this program, type:
mp
or mp -a-i If your machine is 10Mhz - 12Mhz
II. EXTRA INFORMATION
─────────────────────────────────────────────────────────
1 If your video card supports text modes such as 25*132,
44*132, 60*132 or just about any other text mode then enter
this mode (using the utility supplied with your card) and
MODPLAY PRO will take full advantage of it when selecting
filenames
2 If you have received MODPLAY or MODPLAY PRO with any
commercial product
(excluding DABS PRESS, Activision/Infocom, BC Systems)
please let me know as soon as possible. This software has
been written to be distributed freely (subject to License
at end of this document) - not so companies can make lots
of money out of it themselves.
3 Modplay Pro now has full PROTRACKER support. See a later
section for details
III. INTRODUCTION TO MODPLAY PRO
─────────────────────────────────────────────────────────
Modplay Pro allows you to play Amiga soundtracker/noisetracker files,
Protracker files and even 4 channel Startrekker files on a PC
(10Mhz or faster clock speed, 286 processor or better).
Modplay Pro is written *entirely* in assembler and now runs to over
11,000 lines of source and has taken around 400 hours to produce.
*** DOES NOT ALWAYS WORK WHEN USING emm386 ON A 386 PC ***
1. WHAT ARE MODULES?
─────────────────────────────────────────────────────────
A module consists of 15 (or 31) sampled instruments and a four channel
music track. By playing the instruments at different pitches a
soundtrack lasting many minutes can be produced. The PC speaker is not
really up to handling modules, since in total we have a 10 bit sample
to be played, and the speaker can only handle 5 (and thats only just
possible). A D/A converter gives 8 and the stereo version gives
effectively 9. The output sounds OK through a good sized PC speaker, the
cheap piezo devices found in some computers including laptops are not
really designed to cope. So through external hardware MODPLAY PRO comes
close to the quality you would get on an AMIGA.
2. IMPLEMENTATION
─────────────────────────────────────────────────────────
MODPLAY PRO implements all Amiga effects such as vibrato etc.
Most Amiga modules have samples in them that are less than 64k each in
length, these can be played as normal on any 286 10Mhz or better; a
rare few have samples >64k in them and although these will be played
by modplay pro you really need a 16MHz machine minimum to keep up. These
modules are marked with a '*' on the top line of the display next to the
filename when they are playing.
2A. PROTRACKER
─────────────────────────────────────────────────────────
On the Amiga there are a wide variety of tracker players. By far
the best (personal opinion) is the Protracker player. Protracker
modules can have many more commands in them (Thinks like Tremelo,
Note delays, Repeat loops, etc) and I have recently found many
modules are Protracker ones and so benefit greatly by implementing
this new set of commands. All Protracker commands execept FunkInvert
(EFx) are implemented (FunkInvert just plays a sample sort of
backwards... this would mean changing my interrupt routines a little
too much)
3. MODPLAY PRO OPTIONS - COMMAND LINE PLAYING
─────────────────────────────────────────────────────────
From the command line a module can be played through any of the output
devices with or without a moving graph display. The format is
MP [-q] [-0..6] [-a/-b] [-output device] [filename [.MOD]
Items in [ ] are optional. The -q if present tells MODPLAY PRO not to
display any text and so the module will play without disturbing the
text display. (You could use this in a game's title screen written
in C or Basic, by doing a system or shell command - MODPLAY PRO exits when
a key is pressed). The -(number) tells MODPLAY PRO what hardware to play
the module through. The filename can contain wildcard characters
(*,?), so MP * would be valid and would play all the *.MOD files
in the current directory one after the other. Playback of a sequence
of files can be aborted by pressing ESCape two or three times in rapid
sucession.
-0 is the PC Speaker (default unless a stereo-on-one card is found)
-l1 is a D/A converter on printer port 1
-l2 is a D/A converter on printer port 2
-l3 is a D/A converter on printer port 3
-l4 is a D/A converter on printer port 4
-ls is 2 D/A converters, one on port1 the other on port2 (gives stereo)
-lm is 2 D/A converters as above but giving mono.
-xm
This is of use if you have a single D/A converter on an expansion
port or any known address. Use -xm(address) where the address is
a 3 digit hex number. (Example -xm3B7 would play in mono to a
D/A converter at address 03B7)
-xs
This is similar to -xm, allowing two D/A converters and hence stereo
operation. Use -xs(address1)(address2). [Example, -xs300301 would
play in stereo to D/A converters at 0300 and 0301. Note that these
switchs must be used from the command line and cannot be changed when
inside MODPLAY PRO
-y1 (-y2,...-y4)
Disney Sound Source D/A. This output routine is designed to drive
the Disney D/A converter (that is supplied with some games etc.). The
Disney D/A sits on a parallel port but must be clocked after each
sample (unlike the standard D/A in hardware.doc) and turned on and off.
-y1 would output to a Disney D/A on LPT1, -y2 on LPT2 etc. A normal
D/A converter on a parallel port will work with this option as well,
although it is not recommended as it is more processor intensive.
Stereo-on-1
Modplay Pro will autodetect a Stereo-on-1 board on any Parallel port and
use it. See HARDWARE.DOC for more information
Soundblaster
Modplay Pro will autodetect a Soundblaster card at any base address and
use it.
(Using a /number will ignore anything autodetected).
-a should be used if your computer crashes when playing tunes, it
decreases the rate of playing samples - decreasing the quality
noticably through the speaker, but should mean 10Mhz-12Mhz machines
can cope.
-b This is the default mixing speed designed for a 12MHz PC
-d This option is used when if you don't like my choice of character
for drawing the bars. I've had lots of mail all saying you would
like different characters - so now you can choose your own,
Usage is -dxx where xx is a two-digit hexidecimal number of the
character you want to use,
-dF0 Would be ≡, the old MODPLAY default bar
-df7 Would be ≈, one of my favorites
-d02 is quite fun for 'acid house' type mods.
And if you are still not satisfied, then pressing F1 or F2 when
playing changes the character as well! F3 and F4 even change the
colour of the moving bar. Hours of fun (yawn)!
Playing is stopped by pressing *any* key, or when the module is finished
Modules that loop at the end, or jump backwards are stopped so they
will only play once.
There are some special keys, described in the next section that can
be used to whiz through a module like a CD player.
4. MODPLAY PRO IN INTERACTIVE MODE
─────────────────────────────────────────────────────────
MP on its own or MP [options] -i will bring up a display menu screen
help on all key presses is available by pressing F1. From this screen
you can change directory, change drive or play one or more modules.
The commands allowed are:
Basic Keys:
Cursor Keys Move the highlight bar together with the 'PgUp',
'PgDn', 'Home' and 'End' keys.
<SPACE>or This will play the current module highlighted, or change
<RETURN> to the directory or drive hightlighted
<ESC> Quits modplay Pro
<c> Brings up a menu showing all the possible output devices.
Lets you move around them using the arrow keys and select
one by pressing SPACE or RETURN.
<v> Displays information about MODPLAY PRO
<!> Lets you perform DOS commands.
<d> Deletes the highlighted module after confirmation
Advanced:
<t> Tags the currently highlighted module (displays a "+")
or untags the module if already tagged.
<T> Tags all modules in directory
<U> Untags all modules in directory
<p> Plays all tagged modules in sequence.
<s> Takes you into the Sample sub-menu screen
<v> Displays program compiled date and version information
Sample Sub-menu:
From here you can look at the samples that make up the module - there
are a few special keys that perform various functions that are not
fully tested and are provided for users that know what they are
doing (i.e. not bomb proof input routines!)
<p> Plays the sample highlighted
<m> Plays the whole module
<w> Prompts for a filename and then saves the sample to disk
<r> Reads a new sample into the old slot.
also, you can play any sample at any pitch you like. Pressing
F1, F2, F3 change which octave you are playing in (low, mid, high) and
then the number keys play the sample. 1=C, 2=D, 3=E, 4=F, 5=A, 6=B.
5. PLAYBACK KEYS
─────────────────────────────────────────────────────────
During any playback, pressing the left arrow key will slow the music
down, the right arrow key will speed it up and the down arrow key
restores to default speed. The PageDown key will skip to the next
track, PageUp jumps back one track. The END key will (almost)
pause the music, with the down arrow key restoring the speed.
The F1 key toggles help which lists all the keys currently available.
The F8 key turns on the Spectum Analyser display (with bars)
F9 key turns on test mode
F10 key turns on the Spectrum Analyser display (no bars)
F7 key goes back to the old flashing blobs.
+ Decreases the total volume of this and future mods
- Increases the volume of this and future mods
1 Toggles channel 1 on/off (Similarly 2,3,4)
6. SPECTRUM ANALYSER
─────────────────────────────────────────────────────────
Hey! Seen those so-called spectrum analysers on other trackers?
They are not real! If you look closer at 'Tr**ster' then you
will see that this is really just showing the pitch of the notes
being played... others cheat in a similar way. MODPLAY PRO has a
real 32 point Fourier Transform. Okay, so there are a few bugs,
but there is no other PC tracker with a ***REAL*** Spectrum! If you
want to test this out - try playing a speech sample on a single
channel. All other trackers just display a peak at one frequency
(the pitch you are playing it at). MODPLAY PRO actually displays the
frequency components of the sample.
a) If your machine is a bit slow then it can't keep up and it
will leave the odd red bar on the screen. Just press F8 to
get rid of them
b) Yeah, its a linear frequency axis - okay it should be logrithmic
but that means rewriting the code and theres more important things!
c) Its not in graphics mode - that would be amazingly slow!
|
|
|
| X
| X X X
|_X___X__ .. __X_
500Hz--| | |
1kHz-------| |
... |
8kHz----------------|
7. LISTS OF MODULES
─────────────────────────────────────────────────────────
If like me you have hundreds of modules spread over many disks you
may find the -o option useful. This option writes out a list of
mods in the current directory to the screen which can be redirected
to a file. Example:
A:\> mp -o > c:\mod\list\disk21.lst
Would create a file c:\mod\list\disk21.lst with the contents similar to:
AXELF.MOD axel f 15 83 110k 10:24
FCMEDINA.MOD funky cold medina 31 31 229k 01:56
HUMANINV.MOD human invasion 31 26 197k 03:15
KYLIEMIX.MOD kyliemix 15 15 59k 01:52
SJUNGLE.MOD street jungle 31 45 135k 05:38
THEMODEL.MOD the model 31 28 74k 03:30
MCHAMMER.ZIP MCHAMMER.MOD 15 0 106k 00:00
Number of Samples in the MOD (15/31) _______^
Number of patterns in the MOD (1..127) _____________^
File Size _________________________________________________^
Estimated playing time (correct about 70% of the time) ______________^
8. VERSION
─────────────────────────────────────────────────────────
The -v flag displays automatic information about your version of MODPLAY.
It will show the main version number and the exact date/time it was
compiled, for example:
C:\> mp -v
Program : MODPLAY PRO (MP.COM)
Version : 2.02 (October 1991)
Compiled on : 10-10-1991 at 20:30:58
Compiled by : Mark J Cox
It now also gives an estimate of your machine speed (for use in
later versions to alter the mixing speed) and also dates and versions
of all my source code modules.
9. ARCHIVED MODULES
─────────────────────────────────────────────────────────
Using a popular archiving utility normally saves about 30% of disk space
for modules. Support is now added so that MODPLAY PRO will automatically
find and play modules stored in archives (in interactive mode only at
present). Modules can be archived into LZH or ZIP formats and there
must be only one module per archive (modules must have a .MOD extension)
MODPLAY PRO runs your unpacker for you, creating the .MOD file
temporarily on your hard disk; plays the .MOD file then deletes it.
To play ZIP files you must have a program or a batch file called PKUNZIP
somewhere on your path; to play LZH files you must have a program called
LHA.
If you have a better method you would like adding, please let me know.
(ARJ coming soon, hopefully!)
10. SOURCE OF MODULES
─────────────────────────────────────────────────────────
You can obtain modules from many Bulletin Boards, Internet sites or from
friends Amiga's. Modules usually come archived in LZH form, these can be
unpacked with the excellent LHARC program. The files will usually unpack
as 'mod.something' and so MSDOS cuts them short to 'mod.SOM' and it is
best to rename these to 'something.mod' so that MODPLAY PRO will
automatically detect them.
The site: ab20.larc.nasa.gov contains lots of really good mods in the
/incoming/amiga/NoiseTracker/U4IA directory.
11. FREEWARE
─────────────────────────────────────────────────────────
This software is Freeware - that means that there is no registration fee,
you can copy this software, give it to anyone, and use it for anything
(subject to the license at the end of this document). If you like this
software, and would like the author to continue writing- a gift would be
appreciated, send any spare UK currency you have left (from holiday etc.)
8-)
*** Was free, Is free, Always free ***
12. CREDIT & THANKS DUE TO:
─────────────────────────────────────────────────────────
╔════════════════════════════════════════════════════════════════════════╗
║ DABS PRESS - For providing a Soundblaster Board that enabled ║
║ Manchester, UK MODPLAY to finally work with it! DABS PRESS ║
║ supply PC's and a whole host of peripherals, ║
║ including Soundblaster boards at excellent ║
║ 061-773-8632 prices. Look at the adverts in most UK ║
║ +44-61-773-8632 computer magazines or ring them now! ║
╚════════════════════════════════════════════════════════════════════════╝
Lars "Zap" Hamre & - A Protracker replay routine that gave details of
Amiga Freelancers 91 the extra commands and how to implement them
easily.
Mahoney & Kaktus - A sample Amiga assembler noisetracker replay
routine that provided some details on how a
module was comprised and sparked the initial
idea.
Francois Jalbert - For spending hours wading through my source code
looking for a nasty bug that only seemed to occur
when we were not looking for it - and providing
moral support when I get bored.
Norman Lin - Who pointed out a few mistakes in my
initial implementation
Derek Beacroft - For obtaining the Soundblaster programming info.
Pete Jones, Paul - For finding all the bugs in pre-release versions
Sutton, Phil Copeland and picking holes in the documentation
Dr Ian Glover - For some brilliant notes on Fourier Transforms
Patric Aalto - A great Soundblaster autodetect utility - look out
for his supurb games Linewars and Linewars II.
U4IA - For some great Protracker Mods and for checking
the Protracker extensions. Want a Mod for your
demo or game? Contact Jim Young, 32 Ingleside
Road, Kingswood, Bristol, Bs15 1HQ, UK.
A.N.Other - Your name could be here if you can find out the
programming details of SB Pro, Adlib Gold etc.
And the other (now over 300) people who have commented on MODPLAY and
given ideas for the future.
13. COPYRIGHT/LICENSE/WARRANTY
─────────────────────────────────────────────────────────
This license agreement applies to the version of Modplay or Modplay Pro
that accompanies this document.
The files MP.COM, HARDWARE.DOC, WHAT.NEW and this document MP.DOC
("the software") are copyrighted by the author (Mark J Cox).
The copyright owner hereby licenses you to: use the software;
make as many copies of the program and documentation as you wish;
give such copies to anyone; and distribute the software and
documentation via electronic means. This means that as a company
you could put MODPLAY PRO on any of your PCs or Networks freely.
You are specifically prohibited from charging, or requesting donations,
for any such copies, however made; and from distributing the software
and/or documentation with commercial products without written
contract from the author (Mark J Cox).
This software may be distributed in Shareware/Public Domain libraries
that charge for copying and distributing disks.
║ No Copy Of The Software May Be Distributed Or Given Away Without ║
║ This Document; And Neither The Program Or Document May Be Altered ║
║ In Any Way, Or Reverse-Engineered By Disassembly Or Other Method. ║
There is no warranty of any kind, and the copyright owner is not liable
for damages of any kind. By owning/using this software, you agree to
all the above terms.
The software, documentation and diagrams are
Copyright (C) 1990/1991 by Mark J Cox
14. FREQUENTLY ASKED QUESTIONS
─────────────────────────────────────────────────────────
These are a selection of comments/suggestions and questions I have
received.
Q. I keep getting 'Divide Error' and my computer locks up
A. Some modules I have seen are corrupt - there is no way MODPLAY can
tell and there is no time to do any checks - use the 's' command and
you should be able to see if the module has any garbage in it.
Q. It sounds like my computer is about to explode.
A. You have a small piezo speaker - why not build a resistor D/A as
explained above or put a nice sized speaker (Radio Shack/Tandy) in
instead.
Q. Can I edit modules?
A. Not with MODPLAY PRO - use MODEDIT written by Norman Lin that uses
MODRES a resident version of MODPLAY
Q. Ever thought of supporting 8 channels like 'Startreker'?
A. Yeah, but you would need a 20Mhz+ to run it...and I haven't found
enough modules that support it yet though.
Q. I can't find this ZN426E chip
A. Try MAPLIN otherwise you could always substitute any D/A or use the
resistor version
Q. I really like MODPLAY PRO
A. A gift would be appreciated :-)
Q. Can I have the source code please.
A. It was my original intention to release full source for MODPLAY, but
after the problems with companies (below and others) trying to rip
me off I decided against it. If there is any particular technique/
routine you would like to know about, mail me a message.
Q. I sent mail to you two weeks ago!
A. It takes a while for my mail to be forwarded on to me, and I don't
have an enormous amount of time to answer Email etc. I promise to
reply to everything I receive (if you can wait a bit!)
Q. "Speech on the IBM PC is not just a case of 'yet another Lotus-1-2-3'
but a basic piece of innovative software which is being incorporated
into several commercial products at this very moment. Releasing an
un-supported non-commercial product of this nature is a highly
irresponsible act which we cannot stand by and watch without doing our
utmost to prevent" - A UK company talking about the PLAY program.
A. (I'll let you make your own answer up, send me your favourite)
15. CONTACT/SUPPORT
─────────────────────────────────────────────────────────
Before June 1992:
-----------------
Mark J Cox Electronic Mail:
17 Kirkburn Place (EMAIL) m.j.h.cox@uk.ac.bradford (UK)
Bradford m.j.h.cox@bradford.ac.uk (other)
W. Yorks, UK (NETMAIL) Post a message in PLAY SUPPORT on
BD7 2BZ Kingdom of Greyhawk BBS
(+44 332 756414)
After June 1992:
----------------
29 Lundie Close (NETMAIL) Post a message in PLAY SUPPORT on
Stenson Fields Kingdom of Greyhawk BBS
Derby, UK (+44 332 756414)
DE2 3AN (EMAIL) (Probably the same as above..)
All comments on PLAY, RESPLAY, MODPLAY or future software are welcomed!
Please enclose a SSAE for reply!
$Header: M:\RCS\mp.doc 1.4 91/12/05 21:42:09 ROOT_DOS Exp Locker: ROOT_DOS $